import passport from 'koa-passport' 
import LocalStrategy from 'passport-local'
import UserModel from '../db/models/user'// 引入koa-passport、passport-local和数据库model
passport.use(new LocalStrategy(async function(username,password,done){ // 创建一个新的本地策略并使用
  let where = {
    username
  }
  let result = await UserModel.findOne(where)
  if(result!=null){
    if(result.password===password){
      let newuser = await UserModel.findOne(where)
      return done(null, newuser)
    }else{
      return done(null,false,'密码错误')
    }
  }else{
    return done(null,false,'用户不存在')
  }
}))

passport.serializeUser(function(user,done){  // 序列化  可在ctx.session中查看
  done(null,user)
})

passport.deserializeUser(function(user,done){ // 反序列化 
  return done(null,user)
})

export default passport
